#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
	// 功能：用来从文件中读取一行行记录，存入字符串数组中
	
	// 用来统计共有多少条记录
	int number = 0;

	FILE *stream = fopen("./user.dat", "r");
	char buf[50];

	// 直接一个 while 循环，统计有多少条记录
	while(fgets(buf, 50, stream))
	{
		printf("buf1=%s\n", buf);
		number++;
	}
	printf("共有%d条记录\n", number);

	// 重置文件位置
	fseek(stream, 0, SEEK_SET);
	
	// 创建一个字符串数组，用来存放所以数据，一个元素就是一条记录
	char * records[number];
	printf("初始化开始\n");
	// 初始化该字符串数组
	int flag1;
	for(flag1 = 0; flag1 < number; flag1++) 
	{
		records[flag1] = (char*)malloc(50*sizeof(char));
	}
	printf("test\n");

	// 为该字符数组赋值
	int i = 0;
	while(fgets(buf, 50, stream))
	{
		printf("buf=%s\n", buf);
		strcpy(records[i], buf);
		i++;
	}

	// 赋值之后，循环打印一下改字符串数组
	int j;
	for(j = 0; j < number; j++)
	{
		printf("数组元素为%s\n", records[j]);
	}


	
	
	return 0;
}
